/******************************************************************************
//             INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in accordance with the terms of that agreement.
//        Copyright (c) 2000-2001 Intel Corporation. All Rights Reserved.
//
//  Description:
//      Intel(R) JPEG library for X platform 
//
********************************************************************************/
#ifndef _IJEMARK_H
#define _IJEMARK_H

IJXRESULT ijWrite_Marker(Ipp8u marker, IJBITTREAMSTATE *pStream);
IJXRESULT ijWrite_COM(char *pSrcData, int nLen, IJBITTREAMSTATE *pStream);
IJXRESULT ijWrite_APP0_JFIF( Ipp8u units,
                             Ipp32u nXDensity,
                             Ipp32u nYDensity,
                             Ipp16u nVersion,
                             IJTHUMBSPEC *pThumb,
                             IJBITTREAMSTATE *pStream);

IJXRESULT ijWrite_APP0_IJXM( Ipp32u nJPEGCodeMode,
                             const  IIPIMAGESPEC *pImageSpec,
                             const  IWPWAVESPEC  *pWaveSpec,
                             const  IJMOTIONSPEC *pMotionSpec,
                             IJBITTREAMSTATE    *pStream);

IJXRESULT ijWrite_APP14( Ipp16u nVersion,
                         Ipp32u nFlags0,
                         Ipp32u nFlags1,
                         int  nClrTransform,
                         IJBITTREAMSTATE *pStream);
IJXRESULT ijWrite_DQT( int nIdent, 
                       int nPrecision, 
                       Ipp16u *pTableData, 
                       IJBITTREAMSTATE *pStream );
IJXRESULT ijWrite_DHT(int nIdent,
                      int nType,
                      Ipp8u *pHuffbits,
                      Ipp8u *pHuffvals,
                      IJBITTREAMSTATE *pStream);
IJXRESULT ijWrite_DRI(int nRstInterval, 
                      IJBITTREAMSTATE *pStream);
IJXRESULT ijWrite_RST(int nRSTIndex,
                      IJBITTREAMSTATE *pStream);
IJXRESULT ijWrite_SOF( IJFRAMESPEC *pFrameSpec,
                       IJCOMPSPEC *pComp,
                       IJBITTREAMSTATE *pStream);
IJXRESULT ijWrite_SOS( IJSCANSPEC *pScanSpec,
                       IJBITTREAMSTATE *pStream);

IJXRESULT ijAddWaveStream(void *pWaveStreamBuf,
                          int  nByteLength,
                          IJBITTREAMSTATE *pStream);

IJXRESULT ijAddTimeStamp(IJTIMESPEC *pTimeSpec, IJBITTREAMSTATE *pStream);

#endif
/* EOF */
